public class Verkauf extends Warenlager { //private Liste bestand; public Verkauf(){ bestand = null; } private void add(Ware w, int c ) { Liste hl = new Liste(new Warenbestand(w, c)); if ( bestand == null ) { bestand = hl; } else { bestand.append(hl); } } public void transfer(Warenlager source, Ware w, int c) { Liste b; for (b = source.bestand; b != null; b = b.next) { if ( ((Warenbestand)b.data).ware == w ) { if( ((Warenbestand)b.data).count >= c ) { ((Warenbestand)b.data).count -= c; add(w, c); } else { System.err.print("Nicht genĂ¼gend Ware vorhanden\n"); } return; } } } public static boolean test() { assert(Warenlager.test()); System.out.print("Verkauf: "); Verkauf testverkauf = new Verkauf(); Warenlager testlager = new Warenlager(); assert(testverkauf.wert() == 0.0); assert(testlager.wert() == 861.15); testverkauf.transfer( testlager, testlager.get(0).ware, 4); assert(testverkauf.wert() == 7.96); assert(testlager.wert() == 853.19); testverkauf.transfer( testlager, testlager.get(5).ware, 5); assert(testverkauf.wert() == 22.96); System.out.println("passed"); return true; } public static void main(String[] args) { test(); } }